home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 1 Issue 2 / PDCD-1 - Issue 02.iso / _utilities / utilities / 003 / _mask / !MaskUtils / GenMap (.txt) < prev   
RISC OS BBC BASIC V Source  |  1993-09-10  |  2KB  |  82 lines

  1.  >GenMap
  2.  Custom map generator
  3.  By Michel Grimminck
  4.  Nb. PROCMap is compatible with that in !Process.GenMap 1.00, the file
  5.  itself is not.
  6.  File format:
  7.  byte   0-  3     indentifier
  8.  byte   4- 63     string, discriping the map. <32 terminated
  9.  byte  64-319     transformation table for red
  10.  byte 320-575     transformation table for green
  11.  byte 576-831     transformation table for blue
  12. " at line ";
  13.  map 832
  14. text$=""
  15. !File$="<Mask$Dir>.Maps.MyMap"
  16. 9!map=&BD2A275D         :
  17.  randomly chosen indentifier
  18.  entry%=0 
  19. ,  red%=entry%:green%=entry%:blue%=entry%
  20. Map(red%,green%,blue%)
  21.  Check range
  22.  red%   < 0   
  23.  red%   = 0
  24.  red%   > 255 
  25.  red%   = 255
  26.  green% < 0   
  27.  green% = 0
  28.  green% > 255 
  29.  green% = 255
  30.  blue%  < 0   
  31.  blue%  = 0
  32.  blue%  > 255 
  33.  blue%  = 255
  34.   map?( 64+entry%)=red%
  35.   map?(320+entry%)=green%
  36.   map?(576+entry%)=blue%
  37.  T%=0
  38. 59:map?(4+T%)=0:
  39. text$=
  40. text$,60)
  41.  T%=1
  42. (text$):map?(3+T%)=
  43. text$,T%)):
  44. "OS_File",10,File$,&FFD,,map,map+832
  45. "Map generated and saved as:'";File$;"'"
  46.  red%,
  47.  green%,
  48.  blue%)
  49. /'text$="False colour transformation"
  50. 0  grey%=(red%+green%+blue%)/3
  51.  grey%<64 
  52.     L=grey%/63
  53. 31    red%=.4*255*L:green%=.4*255*L:blue%=L*255
  54. 4        
  55.  grey%>=64 
  56.  grey%<128 
  57.     L=(grey%-64)/63
  58. 7>    red%=.4*255*(1-L):green%=255*(.6*L+.4):blue%=255*(1-L)
  59. 8        
  60.  grey%>=128 
  61.  grey%<192 
  62.     L=(grey%-128)/63
  63. ;/    red%=.8*L*255:green%=255:blue%=.5*255*L
  64. <        
  65.  grey%>=192 
  66.     L=(grey%-192)/63
  67. ?4    red%=255:green%=255*(1-L):blue%=.5*255*(1-L)
  68. @        
  69.  red%,
  70.  green%,
  71.  blue%)
  72. text$="Lighten image"
  73.  red%   = red% +16
  74.  green% = green% +16
  75.  blue%  = blue% +16
  76.  red%,
  77.  green%,
  78.  blue%)
  79. text$="Red filter"
  80.  green% = 0
  81.  blue%  = 0
  82.